Model Checking of Software Components: Making Java PathFinder Cooperate with Behavior Protocol Checker

نویسندگان

  • Pavel Parizek
  • Frantisek Plasil
  • Jan Kofron
چکیده

Although there exist several software model checkers that check the code against properties specified e.g. via a temporal logic and assertions, or just verifying low-level properties (like unhandled exceptions), none of them supports checking of software components against a high-level behavior specification. We present our approach to model checking of software components implemented in Java against a high-level specification of their behavior defined via behavior protocols [1], which employs the Java PathFinder model checker and the protocol checker. The property checked by the Java PathFinder (JPF) tool (correctness of particular method call sequences) is validated via its cooperation with the protocol checker. We show that just the publisher/listener pattern claimed to be the key flexibility support of JPF (even though proved very useful for our purpose) was not enough to achieve this kind of checking.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Formal Verification of Components in Java

Title: Formal Verification of Components in Java Author: Pavel Paŕızek email: [email protected] phone: +420 2 2191 4235 Department: Department of Software Engineering Faculty of Mathematics and Physics Charles University in Prague, Czech Republic Advisor: Prof. Frantǐsek Plášil email: [email protected] phone: +420 2 2191 4266 Mailing address (both Author and Advisor): Dept. of SW E...

متن کامل

Addressing State Explosion in Discovery of Concurrency Errors in Component Java Code

Current approaches to the development of reliable software systems include decomposition into components, attaching formal behavior specification to the components, and verification of component behavior via model checking. The main obstacle preventing model checking real-life software components is state explosion, which occurs especially for highly parallel components. In addition, since a ty...

متن کامل

Carmen: Software Component Model Checker

The challenge of model checking of isolated software components becomes more and more relevant with the boom of componentoriented technologies [20]. An important issue here is how to verify an open model representing an isolated software component (also referred as the missing environment problem in [17]). In this paper, we propose on-the-fly simulation of the component environment to address t...

متن کامل

VyrdMC: Driving Runtime Refinement Checking with Model Checkers

This paper presents VyrdMC, a runtime verification tool we are building for concurrent software components. The correctness criterion checked by VyrdMC is refinement: Each execution of the implementation must be consistent with an atomic execution of the specification. VyrdMC combines testing, model checking, and Vyrd, the runtime refinement checker we developed earlier. A test harness first dr...

متن کامل

MMC: the Mono Model Checker

The Mono Model Checker (mmc) is a software model checker for cil bytecode programs. mmc has been developed on the Mono platform. mmc is able to detect deadlocks and assertion violations in cil programs. The design of mmc is inspired by the Java PathFinder (jpf), a model checker for Java programs. The performance of mmc is comparable to jpf. This paper introduces mmc and presents its main archit...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2006